window.onload = function(){
    var arregloConLineasIda = [];
    var arregloConLineasVuelta = [];
    var arregloPuntosSalidaIda = [];
    var arregloPuntosLlegadaIda = [];
    var arregloPuntosSalidaVuelta = [];
    var arregloPuntosLlegadaVuelta = [];
    
    // Mapa opciones
    var options = {
        zoom: 13, 
        center: new google.maps.LatLng(-37.997245, -57.561493), 
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    // Mapa
    var map = new google.maps.Map(document.getElementById('map_canvas'), options);
    
    function cargarRecorrido (tipor, elemento){
        var color = "#" + Math.round(0xffffff * Math.random()).toString(16);
        $.ajax({
            type:'POST',
            url: 'getRecorrido.php',
            data: {
                id : elemento,
                tipo: tipor
            },
            dataType: 'json',
            success : function(datos){
                if (datos.total > 0){
                    var lats = [];
                    var lngs = [];
                    var val = 0;
                    var coordenadas = [];
                    $.each(datos.puntos, function(key, value) {
                        if ((val%2) == 0)
                        {
                            lats.push(value);
                        }
                        else
                        {
                            lngs.push(value);
                        }
                        val++;
                    });

                    // MArcas llegad y salida
                    var image = 'images/inicio.png';
                    var myLatLng = new google.maps.LatLng(lats[0], lngs[0]);
                    var beachMarker = new google.maps.Marker({
                        position: myLatLng,
                        map: map,
                        icon: image
                    });
                    // tipor = 1 es vuelta.
                    if (tipor){
                        arregloPuntosSalidaVuelta[elemento] = beachMarker;
                    }
                    else{
                        arregloPuntosSalidaIda[elemento] = beachMarker;
                    }
                        
                    var image2 = 'images/fin.png';
                    var myLatLng2 = new google.maps.LatLng(lats[lats.length-1], lngs[lats.length-1]);
                    var beachMarker2 = new google.maps.Marker({
                        position: myLatLng2,
                        map: map,
                        icon: image2
                    });                    
                    if (tipor){
                        arregloPuntosLlegadaVuelta[elemento] = beachMarker2;
                    }
                    else{
                        arregloPuntosLlegadaIda[elemento] = beachMarker2;
                    }
                    
                    // Coordenadas para linea.
                    for (var i = 0 ; i < lats.length ; i++){
                        coordenadas.push(new google.maps.LatLng(lats[i], lngs[i]));
                    }
                    // Linea Opcionesi.
                    var flightPath = new google.maps.Polyline({
                        path: coordenadas,
                        strokeColor: color,
                        strokeOpacity: 1.0,
                        strokeWeight: 2
                    });
                    // Linea en el mapa tipor = 1 es vuelta y 0 es ida
                    if (tipor){
                        arregloConLineasVuelta[elemento] = flightPath;
                        arregloConLineasVuelta[elemento].setMap(map);
                    } else {
                        arregloConLineasIda[elemento] = flightPath;
                        arregloConLineasIda[elemento].setMap(map);
                    }
                    
                }
            }
        }
        );        
    }
    
    $('.checkbondiida').click(function(){
        if ($(this).is(':checked'))
        {
            // Muestra el recorrido
            cargarRecorrido(0, $(this).attr('id'));
            // Muestro la data
            $.ajax({
                type:'POST',
                url: 'getCalles.php',
                data: {
                    id : $(this).attr('id'),
                    tipo: 0
                },
                dataType: 'json',
                success : function(datos){
                    if(datos.total > 0){
                        $.each(datos.calles, function(key, value){
                            var boton = $('<span></span>').html(value).css('font-size','0.7em');
                            boton.button();
                            $('#estas_viendo').append(boton);
                        });
                    }
                }
            });
            
        }
        else
        {
            arregloConLineasIda[$(this).attr('id')].setMap(null);
            arregloPuntosLlegadaIda[$(this).attr('id')].setMap(null);
            arregloPuntosSalidaIda[$(this).attr('id')].setMap(null);
        }
    });
    $('.checkbondivuelta').click(function(){
        if ($(this).is(':checked'))
        {
            cargarRecorrido(1, $(this).attr('id'));
        }
        else
        {
            arregloConLineasVuelta[$(this).attr('id')].setMap(null);
            arregloPuntosLlegadaVuelta[$(this).attr('id')].setMap(null);
            arregloPuntosSalidaVuelta[$(this).attr('id')].setMap(null);
        }
    });    
    $(function(){
        $("#accordeon").accordion({
            header: "h3"
        },{
            autoHeight: false
        }, {
            animated: 'clip'
        });
    });

};

